Driven by strong market demand, the technologies supporting automated data processing of customer data have matured rapidly and become quite powerful in a relatively short time period. As a result, processing system hardware is now powerful enough and fast enough to execute complex calculations on large volumes of customer data for a multitude of purposes. The rapid advances in processing system hardware, however, tend to outpace corresponding advances in software.
As one example, past approaches to processing customer data (e.g., preparing invoices) generally relied upon inflexible hard-coded processing steps. While the software might have captured the desired processing steps at the time the software was written, its hard-coded nature made the software inflexible, and in some cases, unsuitable for the software owner at a later date. With such software, the software owner could only initiate changes, if at all, through an expensive, time consuming re-programming process that required a software vendor programmer to modify the software by hand to suit customer specifications.
Even when a software owner was willing to incur the expense and delay, the modified software still had drawbacks. As an example, with every custom software release came the need for individuals to track, understand, and support the software. Consequently, custom software increased the costs for the software vendor as well as the software owner, and led to a general lack of standardization that hampered efficient production, delivery, and support of the software. Accordingly, a need existed for an automated data processing method that is interactive and will allow a user to develop or change the system operation on a real-time basis.